package com.net.xpay.core.manager;

import com.net.common.manager.DomainManager;
import com.net.xpay.core.domain.AccountLog;
import com.net.xpay.core.enums.AccountBillType;
import com.net.xpay.core.model.AccountLogSearchModel;

import java.time.LocalDateTime;
import java.util.List;


public interface AccountLogManager extends DomainManager<Long,AccountLog> {
    List<AccountLog> search(AccountLogSearchModel searchModel);

    long searchCount(AccountLogSearchModel searchModel);

    AccountLog findByRelatedId(Long userId, AccountBillType type, Long relatedId);


    List<AccountLog> list(AccountLogSearchModel searchModel);

    long sumAccountLog(AccountLogSearchModel searchModel);

    long sumLastAfterAmountByTime(LocalDateTime minCreateTime, LocalDateTime maxCreateTime);

    long sumFirstBeforeAmountByTime(LocalDateTime minCreateTime, LocalDateTime maxCreateTime);
}
